<?php

//不引用接口，使用依赖反转实现插件注册
class AgreePlugin
{
    function __construct(INews $news)
    {
        //使用匿名类实现依赖反转
        $news->regPlug(new class implements IPlugin{

            function update($id)
            {
                echo "<br />";
                echo "新闻ID为{$id}的<font color='green'>点赞数</font>加一，时间：".date("Y-m-d H:i:s");
            }

            function __toString(): string
            {
                return "agree_plugin";
            }
        });
    }

    function update($id)
    {
        echo "<br />";
        echo "新闻ID为{$id}的<font color='green'>点赞数</font>加一，时间：".date("Y-m-d H:i:s");
    }

    function __toString(): string
    {
        return "agree_plugin";
    }
}